介紹
在一般狀況下 css selector 就可以捕捉到dom並觸發 基本的click type事件等 但有些狀況比較特別,當dom節點有可能是靠class 去觸發 event的時候 這樣的dom節點就會沒辦法 trigger
所幸有 Puppeteer 有提供 mouse的功能 幫助可以使用頁面位置來做一些點擊動作
另為算出dom元素位置可以透過
function getPosition(element) {
var x = 0;
var y = 0;
while (element) {
x += element.offsetLeft - element.scrollLeft + element.clientLeft;
y += element.offsetTop - element.scrollLeft + element.clientTop;
element = element.offsetParent;
}
return { x: x, y: y };
}
放在evaluate 讓他在前端的後可以配合這個function抓到正確的位置,
抓到後就可以使用 page.mouse的方式來指定了 await page.mouse.move(obj.x, obj.y);